package com.gpframework.module.process.domain.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.gpframework.module.module.domain.GpIncomingInspectWeight;
import com.gpframework.module.module.domain.GpIncomingInspectWidth;
import com.gpframework.module.module.domain.GpIncomingInspectYardVerify;
import com.gpframework.module.process.domain.GpProcessIncomingInspectFormaldehyde;
import com.gpframework.module.process.domain.GpProcessIncomingInspectWidth;
import com.gpframework.module.process.domain.GpProcessIncomingInspectYardVerify;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import javax.validation.constraints.*;

import java.util.Date;
import java.math.BigDecimal;
import java.util.List;

/**
 * @ClassName GpProcessIncomingInspectAdd
 * @Author gpframework
 * @Date 2023-12-20
 * @Version 1.0.0
 * @Description 加工来料检验单Add对象
 */
@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@Accessors(chain = true)
public class GpProcessIncomingInspectAdd {
    private static final long serialVersionUID = 1L;

    /** 品牌id */
    @ApiModelProperty("品牌id")
    private String brandId;

    /** 品牌名称 */
    @ApiModelProperty("品牌名称")
    private String brandName;

    /** 缺货报库存申请表id */
    @ApiModelProperty("缺货报库存申请表id")
    private Long productionApplicationId;

    /** 排单表id */
    @ApiModelProperty("排单表id")
    private Long processSchedulingId;

    /** 到货单id */
    @ApiModelProperty("到货单id")
    private Long processDeliveryNoteId;

    /** 订单号 */
    @ApiModelProperty("订单号")
    private String sn;

    /** 来料时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("来料时间")
    private Date incomingTime;

    /** 加工商ID */
    @ApiModelProperty("加工商ID")
    private Long processorId;

    /** 加工商 */
    @ApiModelProperty("加工商")
    private String processor;

    /** 批号 */
    @ApiModelProperty("批号")
    private String batchNo;

    /** 成品品名 */
    @ApiModelProperty("成品品名")
    private String productName;

    /** 成品颜色 */
    @ApiModelProperty("成品颜色")
    private String productColor;

    /** 条数 */
    @ApiModelProperty("条数")
    private String numberItems;

    /** 总码数（空） */
    @ApiModelProperty("总码数（空）")
    private Long totalSizeEmpty;

    /** 总码数（足） */
    @ApiModelProperty("总码数（足）")
    private Long totalSizeSufficient;

    /** 标准码（空) */
    @ApiModelProperty("标准码（空)")
    private Long standardCodeEmpty;

    /** 标准码（足） */
    @ApiModelProperty("标准码（足）")
    private Long standardCodeSufficient;

    /** 抽查数量（条） */
    @ApiModelProperty("抽查数量（条）")
    private Long samplingQuantity;

    /** 差异值 */
    @ApiModelProperty("差异值")
    private BigDecimal differenceValue;

    /** 重量kg */
    @ApiModelProperty("重量kg")
    private BigDecimal weight;

    /** 测量整体幅宽 */
    @ApiModelProperty("测量整体幅宽")
    private BigDecimal measureOverallWidth;

    /** 实用幅宽 */
    @ApiModelProperty("实用幅宽")
    private BigDecimal practicalWidth;

    /** 标准幅宽 */
    @ApiModelProperty("标准幅宽")
    private BigDecimal standardWidth;

    /** 植绒点点大小尺寸 */
    @ApiModelProperty("植绒点点大小尺寸")
    private String flockingDotSize;

    /** 植绒毛颜色对比 */
    @ApiModelProperty("植绒毛颜色对比")
    private String flockedFurColorComparison;

    /** 片颜色对比 */
    @ApiModelProperty("片颜色对比")
    private String colorComparison;

    /** 公斤数 */
    @ApiModelProperty("公斤数")
    private String kilograms;

    /** 普通水洗 */
    @ApiModelProperty("普通水洗")
    private String ordinaryWaterWashing;

    /** 强洗1次 */
    @ApiModelProperty("强洗1次")
    private String strongWashingOne;

    /** 强洗2次 */
    @ApiModelProperty("强洗2次")
    private String strongWashingTwo;

    /** 干擦评定 */
    @ApiModelProperty("干擦评定")
    private String dryWipeEvaluation;

    /** 湿擦评定 */
    @ApiModelProperty("湿擦评定")
    private String wetWipeEvaluation;

    /** 是否跟踪： 0否 1是 */
    @ApiModelProperty("是否跟踪： 0否 1是")
    private String trackFlag;

    /** 跟单员id */
    @ApiModelProperty("跟单员id")
    private Long documentaryId;

    /** 跟单员 */
    @ApiModelProperty("跟单员")
    private String documentaryMan;

    /** 操作人id */
    @ApiModelProperty("操作人id")
    private Long operatorId;

    /** 操作人 */
    @ApiModelProperty("操作人")
    private String operatorName;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("操作时间")
    private Date operatorTime;

    /** 排序 */
    @ApiModelProperty("排序")
    private Integer sort;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remarks;


    /** 来料检验单幅宽 */
    @ApiModelProperty("来料检验单幅宽")
    private List<GpProcessIncomingInspectWidth> gpProcessIncomingInspectWidthList;

    /** 来料检验单实际验码 */
    @ApiModelProperty("来料检验单实际验码")
    private List<GpProcessIncomingInspectYardVerify> gpProcessIncomingInspectYardVerifyList;

    @ApiModelProperty("加工来料检验单甲醛PM值")
    private List<GpProcessIncomingInspectFormaldehyde> gpProcessIncomingInspectFormaldehydeList;

}
